import { createStore } from 'vuex'
import getters from './getters'

const modulesFiles = import.meta.globEager('./modules/*.js')
const modules = Object.keys(modulesFiles).reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1').split('/')[1]
  const value = modulesFiles[modulePath]
  modules[moduleName] = value.default
  modules[moduleName].namespaced = true // 命名空间
  return modules
}, {})

export default createStore({
  modules,
  getters
})
